# 容器类型数据转换

# list 列表
'''
    数字(Number) 类型是非容器类型，不能转换为列表类型（报错）
    字符串转换为列表时，会将字符串每一个字符转换为列表的元素
    集合（set）可以转换为列表类型
    元组（tuple）可以转换为列表类型
    字典（dict）可以转换列表类型，但是只保留了字典中的键
'''
# n = '123'
# res = list(n)
# print(n, type(n)) # 123 <class 'str'>
# print(res, type(res)) # ['1', '2', '3'] <class 'list'>

# tuple 元组
'''
    数字类型（Number）是非容器类型，不能不能转换
    其他类型转换时与列表一致
'''

# set 集合
'''
    数字类型（Number），不能转换
    字符串，列表，元组，可以转换为集合，结果是无序的
    字典转换为集合类型只保留键，不保留值
'''
# n = '123'
# res = set(n)
# print(res, type(res)) # {'3', '2', '1'} <class 'set'>
# n = {'a': 1, 'b': 2}
# res = set(n)
# print(res, type(res)) # {'b', 'a'} <class 'set'>

# dict 字典
'''
    字符串，数字，集合类型不能转换为字典类型
    列表，元组 可以转换为字典类型，但是要求是一个二级列表，并且二级列表只能有两个元素
'''
# n = [[1, 2], ['a', 'b'], ['11', 11]]
# res = dict(n)
# print(res, type(res)) # {1: 2, 'a': 'b', '11': 11} <class 'dict'>
n = ((1, 2), ('a', 'b'), ('11', 11))
res = dict(n)
print(res, type(res)) # {1: 2, 'a': 'b', '11': 11} <class 'dict'>




